home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / clasr.z / clasr
Encoding:
Text File  |  2002-10-03  |  5.3 KB  |  199 lines

  1.  
  2.  
  3.  
  4. CCCCLLLLAAAASSSSRRRR((((3333SSSS))))                                                            CCCCLLLLAAAASSSSRRRR((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CLASR - perform the transformation  A := P*A, when SIDE = 'L' or 'l' (
  10.      Left-hand side )  A := A*P', when SIDE = 'R' or 'r' ( Right-hand side )
  11.      where A is an m by n complex matrix and P is an orthogonal matrix,
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE CLASR( SIDE, PIVOT, DIRECT, M, N, C, S, A, LDA )
  15.  
  16.          CHARACTER     DIRECT, PIVOT, SIDE
  17.  
  18.          INTEGER       LDA, M, N
  19.  
  20.          REAL          C( * ), S( * )
  21.  
  22.          COMPLEX       A( LDA, * )
  23.  
  24. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  25.      These routines are part of the SCSL Scientific Library and can be loaded
  26.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  27.      directs the linker to use the multi-processor version of the library.
  28.  
  29.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  30.      4 bytes (32 bits). Another version of SCSL is available in which integers
  31.      are 8 bytes (64 bits).  This version allows the user access to larger
  32.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  33.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  34.      only one of the two versions; 4-byte integer and 8-byte integer library
  35.      calls cannot be mixed.
  36.  
  37. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  38.      CLASR performs the transformation A := P*A, when SIDE = 'L' or 'l' (
  39.      Left-hand side ) A := A*P', when SIDE = 'R' or 'r' ( Right-hand side )
  40.      where A is an m by n complex matrix and P is an orthogonal matrix,
  41.      consisting of a sequence of plane rotations determined by the parameters
  42.      PIVOT and DIRECT as follows ( z = m when SIDE = 'L' or 'l' and z = n when
  43.      SIDE = 'R' or 'r' ):
  44.  
  45.      When  DIRECT = 'F' or 'f'  ( Forward sequence ) then
  46.  
  47.         P = P( z - 1 )*...*P( 2 )*P( 1 ),
  48.  
  49.      and when DIRECT = 'B' or 'b'  ( Backward sequence ) then
  50.  
  51.         P = P( 1 )*P( 2 )*...*P( z - 1 ),
  52.  
  53.      where  P( k ) is a plane rotation matrix for the following planes:
  54.  
  55.         when  PIVOT = 'V' or 'v'  ( Variable pivot ),
  56.            the plane ( k, k + 1 )
  57.  
  58.         when  PIVOT = 'T' or 't'  ( Top pivot ),
  59.            the plane ( 1, k + 1 )
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCLLLLAAAASSSSRRRR((((3333SSSS))))                                                            CCCCLLLLAAAASSSSRRRR((((3333SSSS))))
  71.  
  72.  
  73.  
  74.         when  PIVOT = 'B' or 'b'  ( Bottom pivot ),
  75.            the plane ( k, z )
  76.  
  77.      c( k ) and s( k )  must contain the  cosine and sine that define the
  78.      matrix  P( k ).  The two by two plane rotation part of the matrix P( k ),
  79.      R( k ), is assumed to be of the form
  80.  
  81.         R( k ) = (  c( k )  s( k ) ).
  82.                  ( -s( k )  c( k ) )
  83.  
  84.  
  85. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  86.      SIDE    (input) CHARACTER*1
  87.              Specifies whether the plane rotation matrix P is applied to A on
  88.              the left or the right.  = 'L':  Left, compute A := P*A
  89.              = 'R':  Right, compute A:= A*P'
  90.  
  91.      DIRECT  (input) CHARACTER*1
  92.              Specifies whether P is a forward or backward sequence of plane
  93.              rotations.  = 'F':  Forward, P = P( z - 1 )*...*P( 2 )*P( 1 )
  94.              = 'B':  Backward, P = P( 1 )*P( 2 )*...*P( z - 1 )
  95.  
  96.      PIVOT   (input) CHARACTER*1
  97.              Specifies the plane for which P(k) is a plane rotation matrix.  =
  98.              'V':  Variable pivot, the plane (k,k+1)
  99.              = 'T':  Top pivot, the plane (1,k+1)
  100.              = 'B':  Bottom pivot, the plane (k,z)
  101.  
  102.      M       (input) INTEGER
  103.              The number of rows of the matrix A.  If m <= 1, an immediate
  104.              return is effected.
  105.  
  106.      N       (input) INTEGER
  107.              The number of columns of the matrix A.  If n <= 1, an immediate
  108.              return is effected.
  109.  
  110.              C, S    (input) REAL arrays, dimension (M-1) if SIDE = 'L' (N-1)
  111.              if SIDE = 'R' c(k) and s(k) contain the cosine and sine that
  112.              define the matrix P(k).  The two by two plane rotation part of
  113.              the matrix P(k), R(k), is assumed to be of the form R( k ) = (
  114.              c( k )  s( k ) ).  ( -s( k )  c( k ) )
  115.  
  116.      A       (input/output) COMPLEX array, dimension (LDA,N)
  117.              The m by n matrix A.  On exit, A is overwritten by P*A if SIDE =
  118.              'R' or by A*P' if SIDE = 'L'.
  119.  
  120.      LDA     (input) INTEGER
  121.              The leading dimension of the array A.  LDA >= max(1,M).
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. CCCCLLLLAAAASSSSRRRR((((3333SSSS))))                                                            CCCCLLLLAAAASSSSRRRR((((3333SSSS))))
  137.  
  138.  
  139.  
  140. SEE ALSO
  141.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  142.  
  143.      This man page is available only online.
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.